
服务器环境准备。推荐 Ubuntu 22.04+,4核8G起步(跑本地大模型建议16G以上显存)。安装 Node.js v24、pnpm、Git。配置国内 npm 镜像加速依赖下载。如果用 Docker 部署,准备好 Docker 和 docker-compose。
拉取源码并构建。git clone 官方仓库,corepack enable,pnpm install,pnpm run build。构建产物在 apps/ 目录下。整个过程约5-10分钟,取决于网络速度。构建完成后用 pnpm dsh web 测试能否正常启动。
配置本地模型。两种方案:方案A用 Ollama 跑本地开源模型(DeepSeek 官方推荐,支持 V3/V4 系列);方案B用企业自建的模型网关(兼容 OpenAI 接口)。在 Harness 设置→模型里添加自定义模型端点,填内网地址和 API Key。本地模型延迟低、无调用费用,但效果取决于模型大小。
配置内网访问。默认 Harness 只监听 127.0.0.1,需要改成 0.0.0.0 才能被内网其他机器访问。用 --host 0.0.0.0 --port 3080 启动。前面挂 Nginx 反向代理,配 HTTPS 证书(企业内网可用自签证书)。如果需要外网访问,配 VPN 或零信任网关,不要直接暴露公网。
配置 systemd 服务。把 Harness 注册成 systemd 服务,开机自启、崩溃自动重启。配置 WorkingDirectory、ExecStart、Restart=always、Environment(Node路径、模型端点)。用 systemctl start dsh 启动,journalctl -u dsh 看日志。
# 1. 安装 Node.js v24(Ubuntu)
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt-get install -y nodejs
sudo npm i -g pnpm corepack
# 2. 拉取源码并构建
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
corepack enable && pnpm install && pnpm run build
# 3. 安装 Ollama(本地模型方案)
curl -fsSL https://ollama.com/install.sh | sh
ollama pull deepseek-v4:chat
# 4. 启动(内网访问)
pnpm dsh web --host 0.0.0.0 --port 3080
# 5. 配置 Nginx 反向代理(示例)
# /etc/nginx/sites-available/dsh
# server { listen 443 ssl; server_name dsh.company.com;
# location / { proxy_pass http://127.0.0.1:3080; proxy_http_version 1.1; } }
# /etc/systemd/system/dsh.service
[Unit]
Description=DeepSeek Harness
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/opt/deepseek-harness
ExecStart=/usr/bin/pnpm dsh web --host 0.0.0.0 --port 3080
Restart=always
RestartSec=5
Environment=PATH=/usr/bin:/usr/local/bin
[Install]
WantedBy=multi-user.target
# 启动并设置开机自启
sudo systemctl daemon-reload
sudo systemctl enable --now dsh
sudo journalctl -u dsh -f # 查看日志
模型端点走内网。不要用公网 API,全部走内网模型网关或 Ollama。在 Harness 里只填内网地址(如 http://192.168.1.100:11434),确保请求不经过公网。
工作区目录权限管控。Harness 有文件操作权限,工作区目录必须设置严格的文件权限。用独立用户运行 Harness(如 www-data),只给该用户分配必要的目录读写权限,不要用 root 运行。
操作日志审计。Harness 的每一步操作都有日志(Agent 读了什么文件、执行了什么命令、改了哪行代码)。把日志目录挂载到独立分区,定期备份,满足合规审计要求。
API Key 用凭据系统管理。不要把 Key 写死在配置文件里,用 dsh credentials set 管理。Key 存在加密的凭据存储中,日志里不会明文显示。